package net.sh.dpinfrastructure.util;

/**
 * 
 * 程序耗时检查
 * 
 * @version 1.0
 * @since JDK1.7
 * @author shaohui
 * @company 上海朝阳永续信息技术有限公司
 * @copyright (c) 2016 SunTime Co'Ltd Inc. All rights reserved.
 * @date 2016年10月18日 下午6:50:43
 */
public class DPTimeConsumingUtil {

    /**
     * 
     * 执行方法
     *
     * @param executor
     * @param count
     * @param args
     * 
     * @author shaohui
     * @date 2017年1月23日 下午1:53:46
     */
    public static void execute(Executor executor, long count, Object[] args) {
        long t = System.currentTimeMillis();
        for (int i = 0; i < count; i++) {
            executor.run(args);
        }
        System.out.println("耗时：" + (System.currentTimeMillis() - t) + "ms");
    }
    
    /**
     * 
     * 执行器
     * 
     * @version 1.0
     * @since JDK1.7
     * @author shaohui
     * @company 上海朝阳永续信息技术有限公司
     * @copyright (c) 2017 SunTime Co'Ltd Inc. All rights reserved.
     * @date 2017年1月23日 下午1:54:08
     */
    public interface Executor {
        void run(Object[] args);
    }
    
}
